package com.ruijiang.mapper.OrderServiceMapper;

import com.github.pagehelper.Page;
import com.ruijiang.dto.count.OrderCountDto;
import com.ruijiang.dto.count.PartnerCollectDto;
import com.ruijiang.dto.count.VMTaskCountDto;
import com.ruijiang.dto.page.PageOrderDto;
import com.ruijiang.entity.Order;
import com.ruijiang.vo.sku.SkuCollectCountVO;
import com.ruijiang.vo.sku.SkuCountVO;
import com.ruijiang.vo.sku.SkuTop10VO;
import org.apache.ibatis.annotations.MapKey;


import java.util.List;
import java.util.Map;

public interface OrderMapper{


    List<SkuTop10VO> getSkuTop10(String id);

    List<Order> getOrderList(PageOrderDto dto);

    String getOrderCount(OrderCountDto dto);

    String getOrderAmount(OrderCountDto dto);

    List<SkuCollectCountVO> getSkuCollectCount(String innerCode, String start, String end, VMTaskCountDto dto,Integer status);

    @MapKey("id")
    List<Map<String, Object>> regionCollect(String start, String end);

    /**
     * 获取销量前几的商品
     * @param topValue
     * @param start
     * @param end
     * @return
     */
    List<SkuCountVO> getSkuCount(Integer topValue, String start, String end);

    /**
     * 获取销售额统计
     * @param collectType
     * @param start
     * @param end
     * @return
     */
    @MapKey("id")
    List<Map<String, Object>> getAmountCollect(String collectType, String start, String end);

    /**
     * 获取一定日期范围之内的合作商分成汇总数据
     * @param dto
     * @return
     */
    List<PartnerCollectDto> getPartnerCollect(PartnerCollectDto dto);
}
